home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib09.dsk
/
ELECTRIC HOURGLASS.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
4KB
|
109 lines
1 REM ******************************
2 REM * << ELECTRIC HOURGLASS >> *
3 REM * BY PAUL RAYMER *
4 REM * COPYRIGHT (C) 1982 *
5 REM * BY MICRO-SPARC INC *
6 REM * LINCOLN, MA. 01773 *
7 REM * ALL RIGHTS RESERVED *
8 REM ******************************
100 TEXT : HOME : CLEAR : REM 3K
240 GOSUB 1180
250 INPUT "HOW MANY MINUTES SHALL WE TIME? ";MI
260 HOME : VTAB 7
270 PRINT "WHAT KIND OF SAND SHALL WE USE...": PRINT : PRINT "(M)OHAVE DESERT (N)EGEV DESERT (G)OBI DESERT (S)AHARA DESERT ";: GET AN$
280 IF AN$ = "M" THEN F = 25:S = 10
290 IF AN$ = "N" THEN F = 50:S = 10
300 IF AN$ = "G" THEN F = 50:S = 5
310 IF AN$ = "S" THEN F = 100:S = 5
320 HOME
330 FOR HG = 1 TO MI
340 GR
350 R = 37
360 K = INT(14 * RND(1)) +1
370 COLOR= 15
380 REM
390 REM BUILD GLASS
400 REM
410 HLIN 13,27 AT 0: HLIN 13,27 AT 39
420 VLIN 1,7 AT 13: VLIN 32,39 AT 13
430 VLIN 1,7 AT 27: VLIN 32,39 AT 27
440 X = 14:Y = 21
450 FOR A = 1 TO 12 STEP 2: PLOT X,A +7: PLOT X,A +8: PLOT Y,A +19: PLOT Y,A +20:X = X +1:Y = Y +1: NEXT
460 X = 14:Y = 21
470 FOR A = 12 TO 1 STEP -2: PLOT X,A +18: PLOT X,A +19: PLOT Y,A +6: PLOT Y,A +7:X = X +1:Y = Y +1: NEXT A
480 REM
490 REM FILL TOP GLASS
500 REM
510 COLOR= K
520 A = 17:B = 19:C = 21
530 FOR Z = 1 TO 2
540 FOR Y = B TO C
550 PLOT Y,A
560 NEXT Y
570 A = A -1
580 NEXT Z
590 B = B -1:C = C +1
600 IF A <6 THEN 620
610 GOTO 530
620 HLIN 14,26 AT 38
630 REM
640 REM START TIMER
650 REM
660 COLOR= 0
670 READ S,J
680 IF S = 0 THEN 900
690 PLOT S,J
700 COLOR= K
710 READ S,J
720 PLOT S,J
730 IF S = 20 THEN R = R -1
740 REM
750 REM CLOCK ADJUST
760 REM
770 FOR Z = 1 TO 241: NEXT Z
780 REM
790 REM SAND DROP
800 REM
810 FOR D = 19 TO R
820 COLOR= K
830 PLOT 20,D
840 COLOR= 0
850 PLOT 20,D -1
860 NEXT D
870 POKE 768,F +NS: POKE 769,S: CALL 770: REM OPTION...NS = NS + 1
880 GOTO 660
890 REM
900 REM ELAPSED TIME
910 REM
920 FOR X = 1 TO HG
930 PRINT CHR$(7)
940 NEXT X
950 IF X = 2 THEN HOME : HTAB 18: PRINT "1 MINUTE": GOTO 970
960 HOME : HTAB 17: PRINT HG;" MINUTES"
970 RESTORE :NS = 0
980 NEXT HG
990 END
1000 REM
1010 REM THIS IS THE SAND
1020 REM
1030 DATA 20,6,20,37,19,6,19,37,21,6,21,37,20,7,20,36,19,7,19,36,21,7,21,36
1040 DATA 20,8,20,35,18,6,18,37,22,6,22,37,20,9,20,34,19,8,19,35,21,8,21,35,21,9,22,36
1050 DATA 22,7,22,35,22,8,23,37,23,6,21,34,21,10,20,33,20,10,19,34,19,9,18,36,22,9,18,35
1060 DATA 20,11,17,37,18,7,17,36,17,6,16,37,23,7,20,32,21,11,21,33,22,10,23,36,16,6,24,37
1070 DATA 16,6,18,34,20,12,17,35,18,8,17,34,17,7,19,33,17,8,18,33,24,6,15,37,19,10,16,36
1080 DATA 16,7,23,35,18,9,19,32,23,8,16,35,24,7,24,36,25,6,22,34,21,12,25,37,23,9,22,33
1090 DATA 19,11,20,31,23,10,23,34,24,8,26,37,22,11,26,36,18,10,21,32,22,12,25,36
1100 DATA 20,13,24,35,21,13,16,34,15,6,15,36,15,7,18,32,15,8,15,35,14,6,14,37,24,9,17,33
1110 DATA 14,7,25,35,16,8,24,34,17,9,18,31,24,10,19,31,19,12,20,30,20,14,26,35,25,7,22,32
1120 DATA 25,8,14,36,26,6,21,31,26,7,25,34,19,13,19,30,20,15,17,32,21,14,21,30,18,11,23,33
1130 DATA 17,10,16,33,16,9,15,34,25,9,14,35,15,9,24,33,22,13,22,31,16,10,20,29,17,11,23,32
1140 DATA 18,12,26,34,23,11,17,31,24,11,16,32,21,15,21,29,19,14,14,34,23,12,20,28
1150 DATA 23,13,15,33,16,11,23,31,22,14,18,30,18,13,25,33,17,12,22,30,22,15,24,32,17,13,19,29
1160 DATA 18,14,18,29,20,16,21,28,19,15,19,28,21,16,22,29,18,15,17,30,20,17,24,31,19,16,16,31,21,17,23,30,19,17,20,27,0,0
1170 REM
1180 REM SINGING SANDS
1190 REM
1200 POKE 770,173: POKE 771,48: POKE 772,192: POKE 773,136: POKE 774,208: POKE 775,5: POKE 776,206: POKE 777,1
1210 POKE 778,3: POKE 779,240: POKE 780,9: POKE 781,202: POKE 782,208: POKE 783,245: POKE 784,174: POKE 785,0: POKE 786,3
1220 POKE 787,76: POKE 788,2: POKE 789,3: POKE 790,96
1230 RETURN